package com.csun.cmny.provider.service;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.OmcLongRangeServiceOrder;
import com.csun.cmny.provider.model.domain.OmcSuperviseLongRangeService;
import com.csun.cmny.provider.model.domain.OmcVideoLongRangeService;
import com.csun.cmny.provider.model.dto.longRangeServiceOrder.*;
import com.csun.cmny.provider.model.dto.service.ServiceOrderOperationDto;
import com.csun.cmny.provider.model.vo.longRangeServiceOrder.LongRangeServiceOrderVo;

import java.util.List;

public interface OmcLongRangeServiceOrderService extends IService<OmcLongRangeServiceOrder> {
    Long videoPlaceAnOrder(LongRangeServiceOrderDto longRangeServiceOrderDto, LoginAuthDto loginAuthDto);

    Long consultPlaceAnOrder(LongRangeServiceOrderDto longRangeServiceOrderDto, LoginAuthDto loginAuthDto);

    List<LongRangeServiceOrderVo> selectLongRangeServiceOrder(LongRangeServiceOrderSelectDto longRangeServiceOrderSelectDto);

    int video(OmcLongRangeServiceOrder omcLongRangeServiceOrder,LoginAuthDto loginAuthDto);

    int connect(OmcVideoLongRangeService omcVideoLongRangeService,OmcLongRangeServiceOrder omcLongRangeServiceOrder, LoginAuthDto loginAuthDto);

    int finish(OmcVideoLongRangeService videoLongRangeService,OmcLongRangeServiceOrder omcLongRangeServiceOrder, LoginAuthDto loginAuthDto);

    Long superviseAnOrder(LongRangeServiceOrderSuperviseDto longRangeServiceOrderSuperviseDto, LoginAuthDto loginAuthDto);

    int superviseEnter(LongRangeServiceOrderSuperviseEnterDto longRangeServiceOrderSuperviseEnterDto, LoginAuthDto loginAuthDto);

    int theDoorMonitoring(ServiceOrderOperationDto serviceOrderOperationDto,OmcLongRangeServiceOrder omcLongRangeServiceOrder, LoginAuthDto loginAuthDto);

    int pay(Long id);

    int doorMonitoringLeave(OmcSuperviseLongRangeService omcSuperviseLongRangeService, ServiceOrderOperationLeaveDto serviceOrderOperationLeaveDto, OmcLongRangeServiceOrder omcLongRangeServiceOrder, LoginAuthDto loginAuthDto);
}
